XML 태그로 구조화하기

Anthropic
Claude에서 열기
이 강좌에 대해 질문하기
노트 복사
LLM용 전체 강좌 노트 복사

많은 내용을 포함한 프롬프트를 작성할 때, Claude는 어떤 텍스트가 서로 연관되어 있는지 또는 각 섹션이 무엇을 나타내는지 파악하는 데 어려움을 겪을 수 있습니다. XML 태그는 프롬프트에 구조와 명확성을 추가하는 간단한 방법을 제공하며, 특히 대량의 데이터를 삽입할 때 유용합니다.

구조가 중요한 이유

20페이지 분량의 판매 기록을 분석해야 하는 프롬프트를 생각해보세요. 명확한 경계가 없으면 Claude는 여러분의 지시사항과 실제 분석하려는 데이터를 구분하는 데 어려움을 겪을 수 있습니다.

위의 예시는 불명확한 경계가 Claude의 의도 파악을 얼마나 어렵게 만드는지 보여줍니다. 판매 기록을 <sales_records></sales_records> 와 같은 XML 태그로 감싸면 Claude가 프롬프트의 구조를 이해하는 데 도움이 되는 명확한 구분자를 만들 수 있습니다.

실용적인 예시: 코드와 문서

XML 태그가 중요한 이유를 보여주는 더 극적인 예시입니다. 제공된 문서를 사용하여 코드를 디버그해 달라고 Claude에게 요청할 때, 모든 것을 혼합하면 혼란이 발생합니다:

"좋지 않은" 버전은 코드와 문서를 거의 구분할 수 없게 만듭니다. "더 나은" 버전은 <my_code><docs> 태그를 사용하여 명확한 경계를 만듭니다.

사용자 정의 태그 이름

공식 XML 태그를 사용할 필요는 없습니다. 콘텐츠에 맞는 설명적인 이름을 만드세요:

  • <sales_records><data> 보다 낫습니다
  • <athlete_information> 은 사용자 세부 정보를 명확히 식별합니다
  • <my_code><docs> 는 서로 다른 유형의 콘텐츠를 분리합니다

태그 이름이 구체적이고 설명적일수록 Claude가 각 섹션의 목적을 더 잘 이해할 수 있습니다.

XML 태그를 사용할 때

XML 태그는 다음과 같은 경우에 가장 유용합니다:

  • 대량의 컨텍스트나 데이터를 포함할 때
  • 다양한 유형의 콘텐츠(코드, 문서, 데이터)를 혼합할 때
  • 콘텐츠 경계를 명확히 하고 싶을 때
  • 여러 변수를 삽입하는 복잡한 프롬프트를 다룰 때

짧은 콘텐츠의 경우에도 XML 태그는 Claude에게 프롬프트 구조를 더 명확하게 보여주는 구분자 역할을 할 수 있습니다.

실제 적용 사례

실제로 다음과 같이 프롬프트를 구성할 수 있습니다:

<athlete_information>
- Height: 6'2"
- Weight: 180 lbs
- Goal: Build muscle
- Dietary restrictions: Vegetarian
</athlete_information>

Generate a meal plan based on the athlete information above.

이렇게 하면 키, 체중, 목표, 식이 제한이 모두 식단 계획을 생성할 때 함께 고려해야 할 관련 운동선수 데이터임이 명확해집니다.

단순한 프롬프트에서는 극적인 개선을 보지 못할 수도 있지만, 프롬프트가 더 복잡해지고 다양한 콘텐츠가 많아질수록 XML 태그의 가치는 점점 더 커집니다.